/**
 * 流弹窗的操作类型 新增/编辑
 */
export type MaterialDialogOperationType = 'ADD' | 'EDIT';

export interface FormSchema {
  /**
   * 表单字段
   */
  field: string;
  /**
   * 额外字段
   */
  fields?: string[];
  /**
   * 默认值
   */
  // defaultValue?: any;
  /**
   * 额外默认值数组对象
   */
  // defaultValueObj?: { [key: string]: any };
  /**
   * 字段名称
   */
  label: string;
  /**
   * 适用组件
   */
  component: string;
  /**
   * 组件的参数
   */
  componentProps?: Record<string, unknown>;
  /**
   * select等组件的选项，当component为ElSelect等时必填
   */
  options?: LabelValueOptions;
  /**
   * 栅栏布局span
   */
  span?: number;
  /**
   * 是否展示（不含col，就是布局不会变化）
   */
  show?: boolean | (({ values }: any) => boolean);
  /**
   * 是否展示（含col）
   */
  colShow?: boolean | (({ values }: any) => boolean);
  /**
   * 是百分比输入框
   */
  isRate?: boolean;
  /**
   * 校验：是否必填项
   */
  required?: boolean;
  /**
   * 校验：动态规则
   */
  dynamicRules?: ({ values }: any) => any;
}
